#ifndef COLLABORATIVEFILTER_H_
#define COLLABORATIVEFILTER_H_

#include "../util/Configuration.h"
#include "algorithm/CFAlgorithm.h"
#include "algorithm/memory/CorrelationBasedCF.h"

using std::string;
using std::multimap;

class CollaborativeFilter {
private:
	CFAlgorithm* cfalgorithm;
public:
	CollaborativeFilter(const E_CFAlgorithm& e_cfalgorithm = CORRELATION_BASED);
	~CollaborativeFilter();

	void makePrediction(const string& user_mac, int cid);
	multimap<string, string> getTopNList(const string& user_mac, int n);
};

#endif /* COLLABORATIVEFILTER_H_ */
